/*
 * SparseBundleAdjustment.h
 *
 *  Created on: May 17, 2013
 *      Author: BaCell
 */

#ifndef SPARSEBUNDLEADJUSTMENT_H_
#define SPARSEBUNDLEADJUSTMENT_H_
#include <opencv/cv.h>
#include "opencv2/opencv.hpp"
#include <opencv/highgui.h>
#include <opencv2/features2d/features2d.hpp>
#include <opencv2/nonfree/features2d.hpp>
#include <opencv2/flann/flann.hpp>
#include <opencv2/flann/flann_base.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/contrib/contrib.hpp>
#include "opencv2/calib3d/calib3d.hpp"

using namespace cv;

class SparseBundleAdjustment{
public:
	double ical[5];
	double opts[5];
	int cnp,pnp,mnp;
	SparseBundleAdjustment(){}
	void initWithK(Mat cameraMatrix);
	void bundleAdjust(double *motstruct,int nframes,int numpts3D,double *imgpts,char *vmask);
};


#endif /* SPARSEBUNDLEADJUSTMENT_H_ */
